home *** CD-ROM | disk | FTP | other *** search
/ MACD 5 / MACD 5.bin / workbench / blankery / bserverdir / sources / server / commodity.c < prev    next >
C/C++ Source or Header  |  1994-12-02  |  2KB  |  117 lines

  1. #include <exec/types.h>
  2. #include <exec/memory.h>
  3. #include <libraries/commodities.h>
  4. #include <libraries/gadtools.h>
  5. #include <dos/dos.h>
  6. #include <workbench/startup.h>
  7.  
  8. #include <clib/exec_protos.h>
  9. #include <clib/alib_protos.h>
  10. #include <clib/commodities_protos.h>
  11. #include <clib/gadtools_protos.h>
  12. #include <clib/dos_protos.h>
  13. #include <clib/icon_protos.h>
  14. #include <stdio.h>
  15. #include <string.h>
  16.  
  17. #include "/include/server.h"
  18.  
  19. extern BOOL PopUp, CommodityActive, RandomClient, StayCool;
  20. extern UWORD delaySecs, timeElapsed;
  21. extern struct Gadget *active_gdg;
  22. extern struct Window *window;
  23.  
  24. extern BOOL PopUpWindow( void );
  25. extern void ShutWindow( void );
  26.  
  27.  
  28.  /******************
  29.  *                 *
  30.  * GENERAL UTILITY *
  31.  *                 *
  32.  ******************/
  33.  
  34.  
  35. void ClearPendingMessages( struct MsgPort *mport )
  36. {
  37. struct Message *msg;
  38.  
  39. while ( msg = GetMsg( mport ) )
  40.     ReplyMsg( msg );
  41. }
  42.  
  43.  
  44.  /******************
  45.  *                 *
  46.  * COMMODITY STUFF *
  47.  *                 *
  48.  ******************/
  49.  
  50. #define EVT_HOTKEY 1L
  51.  
  52. struct Library *CxBase, *IconBase;
  53. struct MsgPort *broker_mp;
  54. CxObj *broker, *filter, *sender, *translate;
  55.  
  56. ULONG CXSignal;
  57.  
  58. struct NewBroker newbroker = {
  59.     NB_VERSION,
  60.     PROGRAMNAME,
  61.     PROGRAMNAME" "PROGRAMVERSION" © 1994 by Stefano Reksten of 3AM",
  62.     "Simple server for screen blankers",
  63.     NBU_UNIQUE | NBU_NOTIFY,
  64.     COF_SHOW_HIDE, 0, 0, 0 };
  65.  
  66.  
  67. UBYTE brokerPri = 0;
  68. char hotkey[40] = "lalt b";
  69.  
  70. void HandleCxMessages( void )
  71. {
  72. CxMsg *msg;
  73. ULONG msgid, msgtype;
  74.  
  75. while(msg = (CxMsg *)GetMsg(broker_mp))
  76.     {
  77.     msgid = CxMsgID(msg);
  78.     msgtype = CxMsgType(msg);
  79.     ReplyMsg((struct Message *)msg);
  80.  
  81.     switch(msgtype)
  82.         {
  83.         case CXM_IEVENT:
  84.             if ( msgid == EVT_HOTKEY )
  85.                 PopUpWindow();
  86.             break;
  87.  
  88.         case CXM_COMMAND:
  89.             switch(msgid)
  90.             {
  91.             case CXCMD_DISABLE:
  92.                 ActivateCxObj(broker, 0L);
  93.                 break;
  94.             case CXCMD_ENABLE:
  95.                 ActivateCxObj(broker, 1L);
  96.                 break;
  97.             case CXCMD_KILL:
  98.                 StayCool = FALSE;
  99.                 break;
  100.             case CXCMD_UNIQUE:
  101.                 PopUpWindow();
  102.                 break;
  103.             case CXCMD_APPEAR:
  104.                 PopUpWindow();
  105.                 break;
  106.             case CXCMD_DISAPPEAR:
  107.                 ShutWindow();
  108.                 break;
  109.             }
  110.             break;
  111.  
  112.         default:
  113.             break;
  114.         }
  115.     }
  116. }
  117.